It is a long established practice of computation that looking up a computational value from a set of pre-computed values is more efficient and less error prone than performing the computation algorithm directly. Often the computational cost of lookup for a stored value is cheap, typically constant to logarithmic in time, whereas direct computation is rarely as efficient and typically is linear or worse. A clear demonstration of this simple model for efficient computation was given by Napier with the publication in 1619 of the first table of logarithms in Mirifici logarithmorum canonis constructio.